package com.kurumi.medical.pojo;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.kurumi.medical.util.StringUtil;

/**
 * 手术明细
 * @author lyh
 *
 */
public class HospitalizationOperation {

	/**
	 * 手术开始日期
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date operationStartDate;
	
	/**
	 * 手术结束日期
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date operationEndDate;
	
	/**
	 * 手术编码
	 */
	private String operationCode;
	
	/**
	 * @author yimr
	 * 手术名称
	 */
	private String operationName;
	
	/**
	 * 合并手术1
	 */
	private String mergeOperationCode1;
	
	/**
	 * @author yimr
	 * 合并手术名称1
	 */
	private String mergeOperationName1;
	
	
	/**
	 * 合并手术2
	 */
	private String mergeOperationCode2;
	
	/**
	 * @author yimr
	 * 合并手术名称2
	 */
	private String mergeOperationName2;
	
	
	/**
	 * 合并手术3
	 */
	private String mergeOperationCode3;
	
	/**
	 * @author yimr
	 * 合并手术名称3
	 */
	private String mergeOperationName3;
	
	/**
	 * 手术切口等级
	 */
	private Integer incisionLevelId;
	
	/**
	 * 手术切口等级名称
	 */
	private String incisionLevelName;
	
	/**
	 * 愈合类别
	 */
	private Integer cicatrizationTypeId;
	
	/**
	 * 愈合类别名称
	 */
	private String cicatrizationTypeName;
	
	/**
	 * 手术及操作标识
	 */
	private Integer opsPerationMarkId;
	
	/**
	 * 手术及操作标识名称
	 */
	private String opsPerationMarkName;
	
	/**
	 * 手术性质
	 */
	private Integer opsTimeLimitId;
	
	/**
	 * 手术性质名称
	 */
	private String opsTimeLimitName;
	
	/**
	 * 手术级别
	 */
	private Integer opsLevelId;
	
	/**
	 * 手术级别名称
	 */
	private String opsLevelName;
	
	/**
	 * 手术患者类型
	 */
	private Integer opsCharacterId;
	
	/**
	 * 手术患者类型名称
	 */
	private String opsCharacterName;
	
	/**
	 * 手术部位
	 */
	private Integer opsPartId;
	
	/**
	 * 手术部位名称
	 */
	private String opsPartName;
	
	/**
	 * 手术感染部位
	 */
	private Integer opsInfectPartId;
	
	/**
	 * 手术感染部位名称
	 */
	private String opsInfectPartName;
	
	/**
	 * 是否异物遗留
	 */
	private Boolean retainedForeignBody = false;
	
	/**
	 * 是否体外循环
	 */
	private Boolean extracorporealCirculation= false;
	
	/**
	 * 手术并发症
	 */
	private Integer opsAfterSyndromeId;
	
	/**
	 * 手术并发症名称
	 */
	private String opsAfterSyndromeName;
	
	/**
	 * 手术中出血量
	 */
	private BigDecimal opsOutBloodVolume;
	
	/**
	 * 重返手术室计划
	 */
	private Boolean haveReoperationPlan = false;
	
	/**
	 * 重返手术室目的Id
	 */
	private Integer reoperationAimId;
	
	/**
	 * 重返手术室目的名称
	 */
	private String reoperationAimName;
	
	/**
	 * 麻醉分级
	 */
	private Integer anaesthesiaLevelId;
	
	/**
	 * 麻醉分级名称
	 */
	private String anaesthesiaLevelName;
	
	/**
	 * 麻醉方式
	 */
	private Integer anaesthesiaTypeId;
	
	/**
	 * 麻醉方式名称
	 */
	private String anaesthesiaTypeName;
	
	/**
	 * 手术后去向
	 */
	private Integer opsAfterDirectionId;
	
	/**
	 * 术后去向名称
	 */
	private String opsAfterDirectionName;
	
	/**
	 * 进入复苏室时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date inResuscitationRoomDate;
	
	/**
	 * 离开复苏室时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date endResuscitationRoomDate;
	
	/**
	 * 手术风险等级
	 */
	private Integer opsNisLevelId;
	
	/**
	 * 手术风险等级名称
	 */
	private String opsNisLevelName;
	
	/**
	 * 麻醉非预期相关事件
	 */
	private Integer anaesthesiaUnforeseenId;
	
	/**
	 * 麻醉非预期事件名称
	 */
	private String anaesthesiaUnforeseenName;
	/**
	 * Steward评分
	 */
	private BigDecimal stewardScore;
	
	/**
	 * 手术医师Id
	 */
	private Integer surgeryOfDoctorId;
	
	/**
	 * 手术医师名称
	 */
	private String surgeryOfDoctorName;
	
	/**
	 * 一助Id
	 */
	private Integer firstOpsAssistantId;
	
	/**
	 * 一助Id名称
	 */
	private String firstOpsAssistantName;
	
	/**
	 * 二助Id
	 */
	private Integer secondOpsAssistantId;
	
	/**
	 * 二助Id名称
	 */
	private String secondOpsAssistantName;
	
	
	/**
	 * 麻醉医师Id
	 */
	private Integer anaesthesiaOfDoctorId;
	
	/**
	 * 麻醉医师名称
	 */
	private String anaesthesiaOfDoctorName;
	
	
	/**
	 * 手术经过
	 */
	private String opsProcess;
	
	/**
	 * 麻醉内容
	 */
	private String anaesthesiaContent;
	
	/**
	 * 病情摘要
	 */
	private String otherMessage;
	
	public Date getOperationStartDate() {
		return operationStartDate;
	}

	public void setOperationStartDate(Date operationStartDate) {
		this.operationStartDate = operationStartDate;
	}

	public Date getOperationEndDate() {
		return operationEndDate;
	}

	public void setOperationEndDate(Date operationEndDate) {
		this.operationEndDate = operationEndDate;
	}

	public String getOperationCode() {
		return StringUtil.meaningStr(operationCode);
	}

	public void setOperationCode(String operationCode) {
		this.operationCode = operationCode;
	}

	public String getMergeOperationCode1() {
		return mergeOperationCode1;
	}

	public void setMergeOperationCode1(String mergeOperationCode1) {
		this.mergeOperationCode1 = mergeOperationCode1;
	}

	public String getMergeOperationCode2() {
		return mergeOperationCode2;
	}

	public void setMergeOperationCode2(String mergeOperationCode2) {
		this.mergeOperationCode2 = mergeOperationCode2;
	}

	public String getMergeOperationCode3() {
		return mergeOperationCode3;
	}

	public void setMergeOperationCode3(String mergeOperationCode3) {
		this.mergeOperationCode3 = mergeOperationCode3;
	}

	public Integer getIncisionLevelId() {
		return incisionLevelId;
	}

	public void setIncisionLevelId(Integer incisionLevelId) {
		this.incisionLevelId = incisionLevelId;
	}

	public Integer getCicatrizationTypeId() {
		return cicatrizationTypeId;
	}

	public void setCicatrizationTypeId(Integer cicatrizationTypeId) {
		this.cicatrizationTypeId = cicatrizationTypeId;
	}

	public Integer getOpsPerationMarkId() {
		return opsPerationMarkId;
	}

	public void setOpsPerationMarkId(Integer opsPerationMarkId) {
		this.opsPerationMarkId = opsPerationMarkId;
	}

	public Integer getOpsTimeLimitId() {
		return opsTimeLimitId;
	}

	public void setOpsTimeLimitId(Integer opsTimeLimitId) {
		this.opsTimeLimitId = opsTimeLimitId;
	}

	public Integer getOpsLevelId() {
		return opsLevelId;
	}

	public void setOpsLevelId(Integer opsLevelId) {
		this.opsLevelId = opsLevelId;
	}

	public Integer getOpsCharacterId() {
		return opsCharacterId;
	}

	public void setOpsCharacterId(Integer opsCharacterId) {
		this.opsCharacterId = opsCharacterId;
	}

	public Integer getOpsPartId() {
		return opsPartId;
	}

	public void setOpsPartId(Integer opsPartId) {
		this.opsPartId = opsPartId;
	}

	public Integer getOpsInfectPartId() {
		return opsInfectPartId;
	}

	public void setOpsInfectPartId(Integer opsInfectPartId) {
		this.opsInfectPartId = opsInfectPartId;
	}

	public Integer getOpsAfterSyndromeId() {
		return opsAfterSyndromeId;
	}

	public void setOpsAfterSyndromeId(Integer opsAfterSyndromeId) {
		this.opsAfterSyndromeId = opsAfterSyndromeId;
	}

	public BigDecimal getOpsOutBloodVolume() {
		return opsOutBloodVolume;
	}

	public void setOpsOutBloodVolume(BigDecimal opsOutBloodVolume) {
		this.opsOutBloodVolume = opsOutBloodVolume;
	}

	public Integer getAnaesthesiaLevelId() {
		return anaesthesiaLevelId;
	}

	public void setAnaesthesiaLevelId(Integer anaesthesiaLevelId) {
		this.anaesthesiaLevelId = anaesthesiaLevelId;
	}

	public Integer getAnaesthesiaTypeId() {
		return anaesthesiaTypeId;
	}

	public void setAnaesthesiaTypeId(Integer anaesthesiaTypeId) {
		this.anaesthesiaTypeId = anaesthesiaTypeId;
	}

	public Integer getOpsAfterDirectionId() {
		return opsAfterDirectionId;
	}

	public void setOpsAfterDirectionId(Integer opsAfterDirectionId) {
		this.opsAfterDirectionId = opsAfterDirectionId;
	}

	public Date getInResuscitationRoomDate() {
		return inResuscitationRoomDate;
	}

	public void setInResuscitationRoomDate(Date inResuscitationRoomDate) {
		this.inResuscitationRoomDate = inResuscitationRoomDate;
	}

	public Date getEndResuscitationRoomDate() {
		return endResuscitationRoomDate;
	}

	public void setEndResuscitationRoomDate(Date endResuscitationRoomDate) {
		this.endResuscitationRoomDate = endResuscitationRoomDate;
	}

	public Integer getOpsNisLevelId() {
		return opsNisLevelId;
	}

	public void setOpsNisLevelId(Integer opsNisLevelId) {
		this.opsNisLevelId = opsNisLevelId;
	}

	public Integer getAnaesthesiaUnforeseenId() {
		return anaesthesiaUnforeseenId;
	}

	public void setAnaesthesiaUnforeseenId(Integer anaesthesiaUnforeseenId) {
		this.anaesthesiaUnforeseenId = anaesthesiaUnforeseenId;
	}

	public BigDecimal getStewardScore() {
		return stewardScore;
	}

	public void setStewardScore(BigDecimal stewardScore) {
		this.stewardScore = stewardScore;
	}

	public String getOpsProcess() {
		return opsProcess;
	}

	public void setOpsProcess(String opsProcess) {
		this.opsProcess = opsProcess;
	}

	public String getAnaesthesiaContent() {
		return anaesthesiaContent;
	}

	public void setAnaesthesiaContent(String anaesthesiaContent) {
		this.anaesthesiaContent = anaesthesiaContent;
	}

	public String getOtherMessage() {
		return otherMessage;
	}

	public void setOtherMessage(String otherMessage) {
		this.otherMessage = otherMessage;
	}

	public Boolean getRetainedForeignBody() {
		return retainedForeignBody;
	}

	public void setRetainedForeignBody(Boolean retainedForeignBody) {
		this.retainedForeignBody = retainedForeignBody;
	}

	public Boolean getExtracorporealCirculation() {
		return extracorporealCirculation;
	}

	public void setExtracorporealCirculation(Boolean extracorporealCirculation) {
		this.extracorporealCirculation = extracorporealCirculation;
	}

	public String getOperationName() {
		return operationName;
	}

	public void setOperationName(String operationName) {
		this.operationName = operationName;
	}

	public String getMergeOperationName1() {
		return mergeOperationName1;
	}

	public void setMergeOperationName1(String mergeOperationName1) {
		this.mergeOperationName1 = mergeOperationName1;
	}

	public String getMergeOperationName2() {
		return mergeOperationName2;
	}

	public void setMergeOperationName2(String mergeOperationName2) {
		this.mergeOperationName2 = mergeOperationName2;
	}

	public String getMergeOperationName3() {
		return mergeOperationName3;
	}

	public void setMergeOperationName3(String mergeOperationName3) {
		this.mergeOperationName3 = mergeOperationName3;
	}

	public String getIncisionLevelName() {
		return incisionLevelName;
	}

	public void setIncisionLevelName(String incisionLevelName) {
		this.incisionLevelName = incisionLevelName;
	}

	public String getCicatrizationTypeName() {
		return cicatrizationTypeName;
	}

	public void setCicatrizationTypeName(String cicatrizationTypeName) {
		this.cicatrizationTypeName = cicatrizationTypeName;
	}

	public String getOpsPerationMarkName() {
		return opsPerationMarkName;
	}

	public void setOpsPerationMarkName(String opsPerationMarkName) {
		this.opsPerationMarkName = opsPerationMarkName;
	}

	public String getOpsTimeLimitName() {
		return opsTimeLimitName;
	}

	public void setOpsTimeLimitName(String opsTimeLimitName) {
		this.opsTimeLimitName = opsTimeLimitName;
	}

	public String getOpsLevelName() {
		return opsLevelName;
	}

	public void setOpsLevelName(String opsLevelName) {
		this.opsLevelName = opsLevelName;
	}

	public String getOpsCharacterName() {
		return opsCharacterName;
	}

	public void setOpsCharacterName(String opsCharacterName) {
		this.opsCharacterName = opsCharacterName;
	}

	public String getOpsPartName() {
		return opsPartName;
	}

	public void setOpsPartName(String opsPartName) {
		this.opsPartName = opsPartName;
	}

	public String getOpsInfectPartName() {
		return opsInfectPartName;
	}

	public void setOpsInfectPartName(String opsInfectPartName) {
		this.opsInfectPartName = opsInfectPartName;
	}

	public String getOpsAfterSyndromeName() {
		return opsAfterSyndromeName;
	}

	public void setOpsAfterSyndromeName(String opsAfterSyndromeName) {
		this.opsAfterSyndromeName = opsAfterSyndromeName;
	}

	public String getAnaesthesiaLevelName() {
		return anaesthesiaLevelName;
	}

	public void setAnaesthesiaLevelName(String anaesthesiaLevelName) {
		this.anaesthesiaLevelName = anaesthesiaLevelName;
	}

	public String getAnaesthesiaTypeName() {
		return anaesthesiaTypeName;
	}

	public void setAnaesthesiaTypeName(String anaesthesiaTypeName) {
		this.anaesthesiaTypeName = anaesthesiaTypeName;
	}

	public String getOpsAfterDirectionName() {
		return opsAfterDirectionName;
	}

	public void setOpsAfterDirectionName(String opsAfterDirectionName) {
		this.opsAfterDirectionName = opsAfterDirectionName;
	}

	public String getOpsNisLevelName() {
		return opsNisLevelName;
	}

	public void setOpsNisLevelName(String opsNisLevelName) {
		this.opsNisLevelName = opsNisLevelName;
	}

	public String getAnaesthesiaUnforeseenName() {
		return anaesthesiaUnforeseenName;
	}

	public void setAnaesthesiaUnforeseenName(String anaesthesiaUnforeseenName) {
		this.anaesthesiaUnforeseenName = anaesthesiaUnforeseenName;
	}

	public Boolean getHaveReoperationPlan() {
		return haveReoperationPlan;
	}

	public void setHaveReoperationPlan(Boolean haveReoperationPlan) {
		this.haveReoperationPlan = haveReoperationPlan;
	}

	public Integer getReoperationAimId() {
		return reoperationAimId;
	}

	public void setReoperationAimId(Integer reoperationAimId) {
		this.reoperationAimId = reoperationAimId;
	}

	public String getReoperationAimName() {
		return reoperationAimName;
	}

	public void setReoperationAimName(String reoperationAimName) {
		this.reoperationAimName = reoperationAimName;
	}

	public Integer getSurgeryOfDoctorId() {
		return surgeryOfDoctorId;
	}

	public void setSurgeryOfDoctorId(Integer surgeryOfDoctorId) {
		this.surgeryOfDoctorId = surgeryOfDoctorId;
	}

	public String getSurgeryOfDoctorName() {
		return surgeryOfDoctorName;
	}

	public void setSurgeryOfDoctorName(String surgeryOfDoctorName) {
		this.surgeryOfDoctorName = surgeryOfDoctorName;
	}

	public Integer getFirstOpsAssistantId() {
		return firstOpsAssistantId;
	}

	public void setFirstOpsAssistantId(Integer firstOpsAssistantId) {
		this.firstOpsAssistantId = firstOpsAssistantId;
	}

	public String getFirstOpsAssistantName() {
		return firstOpsAssistantName;
	}

	public void setFirstOpsAssistantName(String firstOpsAssistantName) {
		this.firstOpsAssistantName = firstOpsAssistantName;
	}

	public Integer getSecondOpsAssistantId() {
		return secondOpsAssistantId;
	}

	public void setSecondOpsAssistantId(Integer secondOpsAssistantId) {
		this.secondOpsAssistantId = secondOpsAssistantId;
	}

	public String getSecondOpsAssistantName() {
		return secondOpsAssistantName;
	}

	public void setSecondOpsAssistantName(String secondOpsAssistantName) {
		this.secondOpsAssistantName = secondOpsAssistantName;
	}

	public Integer getAnaesthesiaOfDoctorId() {
		return anaesthesiaOfDoctorId;
	}

	public void setAnaesthesiaOfDoctorId(Integer anaesthesiaOfDoctorId) {
		this.anaesthesiaOfDoctorId = anaesthesiaOfDoctorId;
	}

	public String getAnaesthesiaOfDoctorName() {
		return anaesthesiaOfDoctorName;
	}

	public void setAnaesthesiaOfDoctorName(String anaesthesiaOfDoctorName) {
		this.anaesthesiaOfDoctorName = anaesthesiaOfDoctorName;
	}
	
}
